package com.yc.mvc.web;

import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.Valid;
import java.io.File;
import java.io.IOException;

@RestController
@RequestMapping("user")
public class UserAction {

    // @RequestBody 接收 json 格式 请求体
    // 不加 @RequestBody , 会从请求参数中获取值
    @PostMapping("reg")
    Result reg(@RequestBody @Valid User user, Errors errors){
        errors.getAllErrors(); // 获取所有的错误
        errors.getGlobalErrors(); // 全局错误
        errors.getFieldErrors(); // 字段错误
        if (errors.hasErrors()){
            return new Result(0,"字段验证失败", errors.getFieldErrors());
        }
        return new Result(1,"注册成功", null);
    }

    @PostMapping("upload")
    Result upload(@RequestParam("filename")MultipartFile file) throws IOException {
        String originalFilename = file.getOriginalFilename(); // 文件名
        String contentType = file.getContentType(); // 文件名
        file.getSize(); // 文件大小
        file.transferTo(new File("C:\\Users\\念流年\\Documents\\Browser Files", originalFilename));
        String webpath = "/upload/" + originalFilename;
        return new Result(1,"文件上传成功", webpath);
    }
}
